/**
 * 
 */
package co.edu.uniquindio.bean;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import co.edu.uniquindio.ejb.ParametrizadaEjb;
import co.edu.uniquindio.ejb.UsuariosEjb;
import co.edu.uniquindio.logica.Administrador;
import co.edu.uniquindio.logica.Persona;

/**
 * @author Andres Felipe Abril
 * @author Luis Enrique Robledo
 * Esta clase nos permite validar la seguridad
 */
@ManagedBean
@SessionScoped
public class SeguridadBean {

	/**
	 * Este atributo representa un usuario 
	 */
	//private Object usuario=new Object();
	/**
	 * Este atributo representa una contrasenia
	 */
	private String contrasenia;
	/**
	 * boolean que representa la untenticacion del usuario
	 */
	private boolean autenticado=false;
	@EJB 
	private UsuariosEjb user;
	@EJB
	private ParametrizadaEjb paramEjb;
	
	
	private String usuario;
	/**
	 * Este metodo permite
	 * @return the usuario
	 */
	public Object getUsuario() {
		return usuario;
	}
	/**
	 * Este metodo permite 
	 * @param usuario el usuario a modificar
	 */
	public void setUsuario(Object usuario) {
		usuario = usuario;
	}
	/**
	 * Este metodo permite
	 * @return the autenticado
	 */
	public boolean isAutenticado() {
		return autenticado;
	}
	/**
	 * Este metodo permite 
	 * @param autenticado el autenticado a modificar
	 */
	public void setAutenticado(boolean autenticado) {
		this.autenticado = autenticado;
	}
	
	public String login() 
	{
		try {
			 Persona persona= user.obtenerP(contrasenia, usuario);
		        Administrador admin= paramEjb.validarA(contrasenia);
		        if(persona!= null)
		        {
		          autenticado=true;    	
		        }
		        if(admin!=null)
		        {
		          autenticado=true;
		        }
		} catch (Exception e) {
			// TODO: handle exception
		}
       
        return null;
		
	}
	/**
	 * Este metodo permite
	 * @return the contraseña
	 */
	public String getContrasenia() {
		return contrasenia;
	}
	/**
	 * Este metodo permite 
	 * @param contraseña el contraseña a modificar
	 */
	public void setContrasenia(String contraseña) {
		this.contrasenia = contraseña;
	}
	/**
	 * Este metodo permite
	 * @return the user
	 */
	public UsuariosEjb getUser() {
		return user;
	}
	/**
	 * Este metodo permite 
	 * @param user el user a modificar
	 */
	public void setUser(UsuariosEjb user) {
		this.user = user;
	}
}
